package javaJob.exercise.primary.array;

import java.util.HashSet;

public class primary5 {
    public static void main(String[] args) {
        int[] nums = {4,4,3,5,6,6,5};
        int[] test1 = {2,2,1};
        int[] test2 = {4,1,2,1,2};
        int[] test3 = {1};
        int[] test4 = {1,3,1,-1,3};
//        System.out.println("答案:"+singleNumber(nums));
        System.out.println("答案:"+singleNumber(test4));
    }

    static public int singleNumber(int[] nums) {
        int target=0;
        HashSet<Integer> tag = new HashSet<>();
        if (nums.length==1){
            target=nums[0];//判断数组是否只有一个元素
            System.out.println(target);
        }else {
            for (int i=1,j=0;i<nums.length;i++){
                if (tag.contains(j)){//跳过已比较元素
                    j=j+1;
                    i=j;
                    if (i==nums.length-1 & j==nums.length-1){
                        target=nums[j];
                    }
                    continue;
                }else {
                    System.out.println(j);
                    System.out.println(i);
                    System.out.println(nums[j]+"-"+nums[i]);
                    if (nums[j]==nums[i]){
                        System.out.println(nums[j]+"-"+nums[i]);
                        tag.add(i);
                        j=j+1;
                        i=j;
                    }
                    if (i==nums.length-1 & nums[j]!=nums[i]){
                        target=nums[j];
                        return target;
                    }
                }

            }
        }

        return target;

//        int tag=0;
//        HashSet<Integer> set = new HashSet<>();
//        HashSet<Integer> clone_set = new HashSet<>();
//        for(int num:nums){
//            set.add(num);
//        }
//        clone_set = (HashSet)set.clone();
//        for (int i=0;i<nums.length;i++){
//            if (set.contains(nums[i])){
//
//            }
//        }
//
//        for (int a:set){
//            System.out.println(a);
//        }

//        int[] tag = new int[nums.length/2];
//        int index=0;
//        for (int i=1,j=0;i<nums.length;i++){
//            System.out.println(i);
//            System.out.println(nums[j]+"-"+nums[i]);
//            if(nums[j]==nums[i]){
//                System.out.println(nums[j]+"-"+nums[i]);
//                tag[index]=nums[j];
//                System.out.println("tag:"+tag[index]);
//                System.out.println("nums"+nums[j]);
//                if (index<nums.length/2-1){
//                    index=index+1;
//                }
//                j=j+1;
//                i=j;
//            }
//            if (i==nums.length-1 & nums[j]!=nums[i]){
//                j=j+1;
//            }
//
//        }
//        HashSet<Integer> set = new HashSet<>();
//        for (int tags:tag){
//            set.add(tags);
//        }
//        for (int k=0;k<nums.length;k++){
//            if (!set.contains(nums[k])){
//                System.out.println(set);
//            }
//        }

//        return 1;

    }
}
